package pong.app.controllers 
{
	import common.StateController;
	import pong.app.IPongAppState;
	import pong.app.IPongAppStateContext;
	import pong.app.IPongAppStateController;
	/**
	 * ...
	 * @author Luke Van In
	 */
	public class PongAppStateController implements IPongAppStateController
	{
		
		private var _context:IPongAppStateContext
		
		
		public function PongAppStateController(context:IPongAppStateContext) 
		{
			this._context = context;
		}
		
		
		
		public function showMenu():void 
		{
			this.getCurrentState().showMenu();
		}
		
		public function showInstructions():void
		{
			this.getCurrentState().showInstructions();
		}
		
		public function showLogin():void 
		{
			this.getCurrentState().showLogin();
		}
		
		
		public function showGame():void 
		{
			this.getCurrentState().showGame();
		}
		
		
		public function showScores():void 
		{
			this.getCurrentState().showScores();
		}
		
		
		
		private function getCurrentState():IPongAppState
		{
			return this._context.getCurrentState();
		}
		
		
	}

}